package userBean;


import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.event.AjaxBehaviorEvent;

import models.Activo;
import models.Area;
import models.Usuario;
import dao.ActivoDAO;
import dao.AreaDAO;
import dao.UsuarioDAO;
import Controller.SessionUtil;

public class User {
	
	private String activo_nombre;
	private String activo_sbn;
	private String activo_serial;
	private String activo_marca;
	
	private Usuario var_user;
	
	
	public String getActivo_marca() {
		return activo_marca;
	}

	public void setActivo_marca(String activo_marca) {
		this.activo_marca = activo_marca;
	}

	public String getUser(){
		return SessionUtil.getNombre();
	}
	
	public String getActivo_nombre() {
		return activo_nombre;
	}

	public void setActivo_nombre(String activo_nombre) {
		this.activo_nombre = activo_nombre;
	}

	public int logueado(){
		if(SessionUtil.getId() != null){
			return 1;
		}
		else{
			return 0;
		}
	}
	
	public void crear_usuario(){
		SessionUtil.redirectTo("/user/create_user.xhtml");
	}
	
	public void welcome(){
		SessionUtil.redirectTo("/user/welcome.xhtml");
	}
	
	public void area_trabajo(){
		SessionUtil.redirectTo("/user/area_trabajo.xhtml");
	}
	
	public void perfil(){
		var_user = UsuarioDAO.findById(SessionUtil.getId());
		SessionUtil.redirectTo("/user/perfil.xhtml");
	}
	
	public void cambiar_password(){
		SessionUtil.redirectTo("/user/cambiar_password.xhtml");
	}
	
	public void logout(){
		SessionUtil.closeSession();
		SessionUtil.redirectTo("/home/welcome.xhtml");
	}
	
	public String view_area(){
		Area area=AreaDAO.findById(SessionUtil.getIdArea());
		String view_area="Area de Trabajo: " + area.getTipo()+" "+area.getId();
		return view_area;
	}
	
	public void onItemSelectedActivo(final AjaxBehaviorEvent event){
		
	}

	public String getActivo_sbn() {
		return activo_sbn;
	}

	public void setActivo_sbn(String activo_sbn) {
		this.activo_sbn = activo_sbn;
	}

	public String getActivo_serial() {
		return activo_serial;
	}

	public void setActivo_serial(String activo_serial) {
		this.activo_serial = activo_serial;
	}
	
	public void saveActivo(ActionEvent actionEvent){
		Activo a = new Activo();
		a.setNombre(activo_nombre);
		a.setMarca(activo_marca);
		a.setSbn(activo_sbn);
		a.setSerial(activo_serial);
		Area area = new Area();
		area.setId(SessionUtil.getIdArea());
		a.setArea(area);
		ActivoDAO.persistActivo(a);
		FacesMessage msg = new FacesMessage("Successful", "Activo: " + a.getSerial()+ " registrado con exito.");  
        FacesContext.getCurrentInstance().addMessage(null, msg);
        SessionUtil.redirectTo("/user/area_trabajo.xhtml");
	}
	
	public Usuario getVar_user() {
		return var_user;
	}

	public void setVar_user(Usuario var_user) {
		this.var_user = var_user;
	}
	
}
